package com.zycfc.zsf.boot.swagger2;

import org.springframework.boot.context.properties.*;
import java.util.*;

@ConfigurationProperties("zsf.boot.swagger2")
public class SwaggerProperties
{
    public static final String PREFIX = "zsf.boot.swagger2";
    private static final String DEFAULT_LICENSE = "\u6cb3\u5357\u4e2d\u539f\u6d88\u8d39\u91d1\u878d\u80a1\u4efd\u6709\u9650\u516c\u53f8";
    private static final String DEFAULT_LICENSEURL = "https://www.hnzycfc.com/";
    private static final String DEFAULT_TERMSOFSERVICEURL = "https://www.hnzycfc.com/";
    private boolean enabled;
    private String title;
    private String description;
    private String version;
    private String license;
    private String licenseUrl;
    private String termsOfServiceUrl;
    private Contact contact;
    private String basePackage;
    private List<String> basePath;
    private List<String> excludePath;
    private String host;
    private List<GlobalParameter> parameters;
    private Set<String> produces;
    private Map<String, DocketInfo> docket;
    
    public SwaggerProperties() {
        this.enabled = true;
        this.title = "\u5728\u7ebf\u63a5\u53e3\u6587\u6863";
        this.description = "\u5728\u7ebf\u63a5\u53e3\u6587\u6863";
        this.version = "0.3.0";
        this.license = "\u6cb3\u5357\u4e2d\u539f\u6d88\u8d39\u91d1\u878d\u80a1\u4efd\u6709\u9650\u516c\u53f8";
        this.licenseUrl = "https://www.hnzycfc.com/";
        this.termsOfServiceUrl = "https://www.hnzycfc.com/";
        this.contact = new Contact();
        this.basePackage = "";
        this.basePath = new ArrayList<String>();
        this.excludePath = new ArrayList<String>();
        this.host = "";
        this.parameters = new ArrayList<GlobalParameter>();
        this.produces = new LinkedHashSet<String>();
        this.docket = new LinkedHashMap<String, DocketInfo>();
    }
    
    public boolean isEnabled() {
        return this.enabled;
    }
    
    public String getTitle() {
        return this.title;
    }
    
    public String getDescription() {
        return this.description;
    }
    
    public String getVersion() {
        return this.version;
    }
    
    public String getLicense() {
        return this.license;
    }
    
    public String getLicenseUrl() {
        return this.licenseUrl;
    }
    
    public String getTermsOfServiceUrl() {
        return this.termsOfServiceUrl;
    }
    
    public Contact getContact() {
        return this.contact;
    }
    
    public String getBasePackage() {
        return this.basePackage;
    }
    
    public List<String> getBasePath() {
        return this.basePath;
    }
    
    public List<String> getExcludePath() {
        return this.excludePath;
    }
    
    public String getHost() {
        return this.host;
    }
    
    public List<GlobalParameter> getParameters() {
        return this.parameters;
    }
    
    public Set<String> getProduces() {
        return this.produces;
    }
    
    public Map<String, DocketInfo> getDocket() {
        return this.docket;
    }
    
    public void setEnabled(final boolean enabled) {
        this.enabled = enabled;
    }
    
    public void setTitle(final String title) {
        this.title = title;
    }
    
    public void setDescription(final String description) {
        this.description = description;
    }
    
    public void setVersion(final String version) {
        this.version = version;
    }
    
    public void setLicense(final String license) {
        this.license = license;
    }
    
    public void setLicenseUrl(final String licenseUrl) {
        this.licenseUrl = licenseUrl;
    }
    
    public void setTermsOfServiceUrl(final String termsOfServiceUrl) {
        this.termsOfServiceUrl = termsOfServiceUrl;
    }
    
    public void setContact(final Contact contact) {
        this.contact = contact;
    }
    
    public void setBasePackage(final String basePackage) {
        this.basePackage = basePackage;
    }
    
    public void setBasePath(final List<String> basePath) {
        this.basePath = basePath;
    }
    
    public void setExcludePath(final List<String> excludePath) {
        this.excludePath = excludePath;
    }
    
    public void setHost(final String host) {
        this.host = host;
    }
    
    public void setParameters(final List<GlobalParameter> parameters) {
        this.parameters = parameters;
    }
    
    public void setProduces(final Set<String> produces) {
        this.produces = produces;
    }
    
    public void setDocket(final Map<String, DocketInfo> docket) {
        this.docket = docket;
    }
    
    @Override
    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof SwaggerProperties)) {
            return false;
        }
        final SwaggerProperties other = (SwaggerProperties)o;
        if (!other.canEqual(this)) {
            return false;
        }
        if (this.isEnabled() != other.isEnabled()) {
            return false;
        }
        final Object this$title = this.getTitle();
        final Object other$title = other.getTitle();
        Label_0078: {
            if (this$title == null) {
                if (other$title == null) {
                    break Label_0078;
                }
            }
            else if (this$title.equals(other$title)) {
                break Label_0078;
            }
            return false;
        }
        final Object this$description = this.getDescription();
        final Object other$description = other.getDescription();
        Label_0115: {
            if (this$description == null) {
                if (other$description == null) {
                    break Label_0115;
                }
            }
            else if (this$description.equals(other$description)) {
                break Label_0115;
            }
            return false;
        }
        final Object this$version = this.getVersion();
        final Object other$version = other.getVersion();
        Label_0152: {
            if (this$version == null) {
                if (other$version == null) {
                    break Label_0152;
                }
            }
            else if (this$version.equals(other$version)) {
                break Label_0152;
            }
            return false;
        }
        final Object this$license = this.getLicense();
        final Object other$license = other.getLicense();
        Label_0189: {
            if (this$license == null) {
                if (other$license == null) {
                    break Label_0189;
                }
            }
            else if (this$license.equals(other$license)) {
                break Label_0189;
            }
            return false;
        }
        final Object this$licenseUrl = this.getLicenseUrl();
        final Object other$licenseUrl = other.getLicenseUrl();
        Label_0226: {
            if (this$licenseUrl == null) {
                if (other$licenseUrl == null) {
                    break Label_0226;
                }
            }
            else if (this$licenseUrl.equals(other$licenseUrl)) {
                break Label_0226;
            }
            return false;
        }
        final Object this$termsOfServiceUrl = this.getTermsOfServiceUrl();
        final Object other$termsOfServiceUrl = other.getTermsOfServiceUrl();
        Label_0263: {
            if (this$termsOfServiceUrl == null) {
                if (other$termsOfServiceUrl == null) {
                    break Label_0263;
                }
            }
            else if (this$termsOfServiceUrl.equals(other$termsOfServiceUrl)) {
                break Label_0263;
            }
            return false;
        }
        final Object this$contact = this.getContact();
        final Object other$contact = other.getContact();
        Label_0300: {
            if (this$contact == null) {
                if (other$contact == null) {
                    break Label_0300;
                }
            }
            else if (this$contact.equals(other$contact)) {
                break Label_0300;
            }
            return false;
        }
        final Object this$basePackage = this.getBasePackage();
        final Object other$basePackage = other.getBasePackage();
        Label_0337: {
            if (this$basePackage == null) {
                if (other$basePackage == null) {
                    break Label_0337;
                }
            }
            else if (this$basePackage.equals(other$basePackage)) {
                break Label_0337;
            }
            return false;
        }
        final Object this$basePath = this.getBasePath();
        final Object other$basePath = other.getBasePath();
        Label_0374: {
            if (this$basePath == null) {
                if (other$basePath == null) {
                    break Label_0374;
                }
            }
            else if (this$basePath.equals(other$basePath)) {
                break Label_0374;
            }
            return false;
        }
        final Object this$excludePath = this.getExcludePath();
        final Object other$excludePath = other.getExcludePath();
        Label_0411: {
            if (this$excludePath == null) {
                if (other$excludePath == null) {
                    break Label_0411;
                }
            }
            else if (this$excludePath.equals(other$excludePath)) {
                break Label_0411;
            }
            return false;
        }
        final Object this$host = this.getHost();
        final Object other$host = other.getHost();
        Label_0448: {
            if (this$host == null) {
                if (other$host == null) {
                    break Label_0448;
                }
            }
            else if (this$host.equals(other$host)) {
                break Label_0448;
            }
            return false;
        }
        final Object this$parameters = this.getParameters();
        final Object other$parameters = other.getParameters();
        Label_0485: {
            if (this$parameters == null) {
                if (other$parameters == null) {
                    break Label_0485;
                }
            }
            else if (this$parameters.equals(other$parameters)) {
                break Label_0485;
            }
            return false;
        }
        final Object this$produces = this.getProduces();
        final Object other$produces = other.getProduces();
        Label_0522: {
            if (this$produces == null) {
                if (other$produces == null) {
                    break Label_0522;
                }
            }
            else if (this$produces.equals(other$produces)) {
                break Label_0522;
            }
            return false;
        }
        final Object this$docket = this.getDocket();
        final Object other$docket = other.getDocket();
        if (this$docket == null) {
            if (other$docket == null) {
                return true;
            }
        }
        else if (this$docket.equals(other$docket)) {
            return true;
        }
        return false;
    }
    
    protected boolean canEqual(final Object other) {
        return other instanceof SwaggerProperties;
    }
    
    @Override
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        result = result * 59 + (this.isEnabled() ? 79 : 97);
        final Object $title = this.getTitle();
        result = result * 59 + (($title == null) ? 43 : $title.hashCode());
        final Object $description = this.getDescription();
        result = result * 59 + (($description == null) ? 43 : $description.hashCode());
        final Object $version = this.getVersion();
        result = result * 59 + (($version == null) ? 43 : $version.hashCode());
        final Object $license = this.getLicense();
        result = result * 59 + (($license == null) ? 43 : $license.hashCode());
        final Object $licenseUrl = this.getLicenseUrl();
        result = result * 59 + (($licenseUrl == null) ? 43 : $licenseUrl.hashCode());
        final Object $termsOfServiceUrl = this.getTermsOfServiceUrl();
        result = result * 59 + (($termsOfServiceUrl == null) ? 43 : $termsOfServiceUrl.hashCode());
        final Object $contact = this.getContact();
        result = result * 59 + (($contact == null) ? 43 : $contact.hashCode());
        final Object $basePackage = this.getBasePackage();
        result = result * 59 + (($basePackage == null) ? 43 : $basePackage.hashCode());
        final Object $basePath = this.getBasePath();
        result = result * 59 + (($basePath == null) ? 43 : $basePath.hashCode());
        final Object $excludePath = this.getExcludePath();
        result = result * 59 + (($excludePath == null) ? 43 : $excludePath.hashCode());
        final Object $host = this.getHost();
        result = result * 59 + (($host == null) ? 43 : $host.hashCode());
        final Object $parameters = this.getParameters();
        result = result * 59 + (($parameters == null) ? 43 : $parameters.hashCode());
        final Object $produces = this.getProduces();
        result = result * 59 + (($produces == null) ? 43 : $produces.hashCode());
        final Object $docket = this.getDocket();
        result = result * 59 + (($docket == null) ? 43 : $docket.hashCode());
        return result;
    }
    
    @Override
    public String toString() {
        return "SwaggerProperties(enabled=" + this.isEnabled() + ", title=" + this.getTitle() + ", description=" + this.getDescription() + ", version=" + this.getVersion() + ", license=" + this.getLicense() + ", licenseUrl=" + this.getLicenseUrl() + ", termsOfServiceUrl=" + this.getTermsOfServiceUrl() + ", contact=" + this.getContact() + ", basePackage=" + this.getBasePackage() + ", basePath=" + this.getBasePath() + ", excludePath=" + this.getExcludePath() + ", host=" + this.getHost() + ", parameters=" + this.getParameters() + ", produces=" + this.getProduces() + ", docket=" + this.getDocket() + ")";
    }
    
    public static class DocketInfo
    {
        private String title;
        private String description;
        private String version;
        private String license;
        private String licenseUrl;
        private String termsOfServiceUrl;
        private Contact contact;
        private String basePackage;
        private List<String> basePath;
        private List<String> excludePath;
        private List<GlobalParameter> parameters;
        private Set<String> produces;
        
        public String getTitle() {
            return this.title;
        }
        
        public String getDescription() {
            return this.description;
        }
        
        public String getVersion() {
            return this.version;
        }
        
        public String getLicense() {
            return this.license;
        }
        
        public String getLicenseUrl() {
            return this.licenseUrl;
        }
        
        public String getTermsOfServiceUrl() {
            return this.termsOfServiceUrl;
        }
        
        public Contact getContact() {
            return this.contact;
        }
        
        public String getBasePackage() {
            return this.basePackage;
        }
        
        public List<String> getBasePath() {
            return this.basePath;
        }
        
        public List<String> getExcludePath() {
            return this.excludePath;
        }
        
        public List<GlobalParameter> getParameters() {
            return this.parameters;
        }
        
        public Set<String> getProduces() {
            return this.produces;
        }
        
        public void setTitle(final String title) {
            this.title = title;
        }
        
        public void setDescription(final String description) {
            this.description = description;
        }
        
        public void setVersion(final String version) {
            this.version = version;
        }
        
        public void setLicense(final String license) {
            this.license = license;
        }
        
        public void setLicenseUrl(final String licenseUrl) {
            this.licenseUrl = licenseUrl;
        }
        
        public void setTermsOfServiceUrl(final String termsOfServiceUrl) {
            this.termsOfServiceUrl = termsOfServiceUrl;
        }
        
        public void setContact(final Contact contact) {
            this.contact = contact;
        }
        
        public void setBasePackage(final String basePackage) {
            this.basePackage = basePackage;
        }
        
        public void setBasePath(final List<String> basePath) {
            this.basePath = basePath;
        }
        
        public void setExcludePath(final List<String> excludePath) {
            this.excludePath = excludePath;
        }
        
        public void setParameters(final List<GlobalParameter> parameters) {
            this.parameters = parameters;
        }
        
        public void setProduces(final Set<String> produces) {
            this.produces = produces;
        }
        
        @Override
        public boolean equals(final Object o) {
            if (o == this) {
                return true;
            }
            if (!(o instanceof DocketInfo)) {
                return false;
            }
            final DocketInfo other = (DocketInfo)o;
            if (!other.canEqual(this)) {
                return false;
            }
            final Object this$title = this.getTitle();
            final Object other$title = other.getTitle();
            Label_0065: {
                if (this$title == null) {
                    if (other$title == null) {
                        break Label_0065;
                    }
                }
                else if (this$title.equals(other$title)) {
                    break Label_0065;
                }
                return false;
            }
            final Object this$description = this.getDescription();
            final Object other$description = other.getDescription();
            Label_0102: {
                if (this$description == null) {
                    if (other$description == null) {
                        break Label_0102;
                    }
                }
                else if (this$description.equals(other$description)) {
                    break Label_0102;
                }
                return false;
            }
            final Object this$version = this.getVersion();
            final Object other$version = other.getVersion();
            Label_0139: {
                if (this$version == null) {
                    if (other$version == null) {
                        break Label_0139;
                    }
                }
                else if (this$version.equals(other$version)) {
                    break Label_0139;
                }
                return false;
            }
            final Object this$license = this.getLicense();
            final Object other$license = other.getLicense();
            Label_0176: {
                if (this$license == null) {
                    if (other$license == null) {
                        break Label_0176;
                    }
                }
                else if (this$license.equals(other$license)) {
                    break Label_0176;
                }
                return false;
            }
            final Object this$licenseUrl = this.getLicenseUrl();
            final Object other$licenseUrl = other.getLicenseUrl();
            Label_0213: {
                if (this$licenseUrl == null) {
                    if (other$licenseUrl == null) {
                        break Label_0213;
                    }
                }
                else if (this$licenseUrl.equals(other$licenseUrl)) {
                    break Label_0213;
                }
                return false;
            }
            final Object this$termsOfServiceUrl = this.getTermsOfServiceUrl();
            final Object other$termsOfServiceUrl = other.getTermsOfServiceUrl();
            Label_0250: {
                if (this$termsOfServiceUrl == null) {
                    if (other$termsOfServiceUrl == null) {
                        break Label_0250;
                    }
                }
                else if (this$termsOfServiceUrl.equals(other$termsOfServiceUrl)) {
                    break Label_0250;
                }
                return false;
            }
            final Object this$contact = this.getContact();
            final Object other$contact = other.getContact();
            Label_0287: {
                if (this$contact == null) {
                    if (other$contact == null) {
                        break Label_0287;
                    }
                }
                else if (this$contact.equals(other$contact)) {
                    break Label_0287;
                }
                return false;
            }
            final Object this$basePackage = this.getBasePackage();
            final Object other$basePackage = other.getBasePackage();
            Label_0324: {
                if (this$basePackage == null) {
                    if (other$basePackage == null) {
                        break Label_0324;
                    }
                }
                else if (this$basePackage.equals(other$basePackage)) {
                    break Label_0324;
                }
                return false;
            }
            final Object this$basePath = this.getBasePath();
            final Object other$basePath = other.getBasePath();
            Label_0361: {
                if (this$basePath == null) {
                    if (other$basePath == null) {
                        break Label_0361;
                    }
                }
                else if (this$basePath.equals(other$basePath)) {
                    break Label_0361;
                }
                return false;
            }
            final Object this$excludePath = this.getExcludePath();
            final Object other$excludePath = other.getExcludePath();
            Label_0398: {
                if (this$excludePath == null) {
                    if (other$excludePath == null) {
                        break Label_0398;
                    }
                }
                else if (this$excludePath.equals(other$excludePath)) {
                    break Label_0398;
                }
                return false;
            }
            final Object this$parameters = this.getParameters();
            final Object other$parameters = other.getParameters();
            Label_0435: {
                if (this$parameters == null) {
                    if (other$parameters == null) {
                        break Label_0435;
                    }
                }
                else if (this$parameters.equals(other$parameters)) {
                    break Label_0435;
                }
                return false;
            }
            final Object this$produces = this.getProduces();
            final Object other$produces = other.getProduces();
            if (this$produces == null) {
                if (other$produces == null) {
                    return true;
                }
            }
            else if (this$produces.equals(other$produces)) {
                return true;
            }
            return false;
        }
        
        protected boolean canEqual(final Object other) {
            return other instanceof DocketInfo;
        }
        
        @Override
        public int hashCode() {
            final int PRIME = 59;
            int result = 1;
            final Object $title = this.getTitle();
            result = result * 59 + (($title == null) ? 43 : $title.hashCode());
            final Object $description = this.getDescription();
            result = result * 59 + (($description == null) ? 43 : $description.hashCode());
            final Object $version = this.getVersion();
            result = result * 59 + (($version == null) ? 43 : $version.hashCode());
            final Object $license = this.getLicense();
            result = result * 59 + (($license == null) ? 43 : $license.hashCode());
            final Object $licenseUrl = this.getLicenseUrl();
            result = result * 59 + (($licenseUrl == null) ? 43 : $licenseUrl.hashCode());
            final Object $termsOfServiceUrl = this.getTermsOfServiceUrl();
            result = result * 59 + (($termsOfServiceUrl == null) ? 43 : $termsOfServiceUrl.hashCode());
            final Object $contact = this.getContact();
            result = result * 59 + (($contact == null) ? 43 : $contact.hashCode());
            final Object $basePackage = this.getBasePackage();
            result = result * 59 + (($basePackage == null) ? 43 : $basePackage.hashCode());
            final Object $basePath = this.getBasePath();
            result = result * 59 + (($basePath == null) ? 43 : $basePath.hashCode());
            final Object $excludePath = this.getExcludePath();
            result = result * 59 + (($excludePath == null) ? 43 : $excludePath.hashCode());
            final Object $parameters = this.getParameters();
            result = result * 59 + (($parameters == null) ? 43 : $parameters.hashCode());
            final Object $produces = this.getProduces();
            result = result * 59 + (($produces == null) ? 43 : $produces.hashCode());
            return result;
        }
        
        @Override
        public String toString() {
            return "SwaggerProperties.DocketInfo(title=" + this.getTitle() + ", description=" + this.getDescription() + ", version=" + this.getVersion() + ", license=" + this.getLicense() + ", licenseUrl=" + this.getLicenseUrl() + ", termsOfServiceUrl=" + this.getTermsOfServiceUrl() + ", contact=" + this.getContact() + ", basePackage=" + this.getBasePackage() + ", basePath=" + this.getBasePath() + ", excludePath=" + this.getExcludePath() + ", parameters=" + this.getParameters() + ", produces=" + this.getProduces() + ")";
        }
        
        public DocketInfo() {
            this.title = "\u5728\u7ebf\u63a5\u53e3\u6587\u6863";
            this.description = "\u5728\u7ebf\u63a5\u53e3\u6587\u6863";
            this.version = "0.3.0";
            this.license = "\u6cb3\u5357\u4e2d\u539f\u6d88\u8d39\u91d1\u878d\u80a1\u4efd\u6709\u9650\u516c\u53f8";
            this.licenseUrl = "https://www.hnzycfc.com/";
            this.termsOfServiceUrl = "https://www.hnzycfc.com/";
            this.contact = new Contact();
            this.basePackage = "";
            this.basePath = new ArrayList<String>();
            this.excludePath = new ArrayList<String>();
            this.parameters = new ArrayList<GlobalParameter>();
            this.produces = new LinkedHashSet<String>();
        }
    }
    
    public static class Contact
    {
        private String name;
        private String url;
        private String email;
        
        public String getName() {
            return this.name;
        }
        
        public String getUrl() {
            return this.url;
        }
        
        public String getEmail() {
            return this.email;
        }
        
        public void setName(final String name) {
            this.name = name;
        }
        
        public void setUrl(final String url) {
            this.url = url;
        }
        
        public void setEmail(final String email) {
            this.email = email;
        }
        
        @Override
        public boolean equals(final Object o) {
            if (o == this) {
                return true;
            }
            if (!(o instanceof Contact)) {
                return false;
            }
            final Contact other = (Contact)o;
            if (!other.canEqual(this)) {
                return false;
            }
            final Object this$name = this.getName();
            final Object other$name = other.getName();
            Label_0065: {
                if (this$name == null) {
                    if (other$name == null) {
                        break Label_0065;
                    }
                }
                else if (this$name.equals(other$name)) {
                    break Label_0065;
                }
                return false;
            }
            final Object this$url = this.getUrl();
            final Object other$url = other.getUrl();
            Label_0102: {
                if (this$url == null) {
                    if (other$url == null) {
                        break Label_0102;
                    }
                }
                else if (this$url.equals(other$url)) {
                    break Label_0102;
                }
                return false;
            }
            final Object this$email = this.getEmail();
            final Object other$email = other.getEmail();
            if (this$email == null) {
                if (other$email == null) {
                    return true;
                }
            }
            else if (this$email.equals(other$email)) {
                return true;
            }
            return false;
        }
        
        protected boolean canEqual(final Object other) {
            return other instanceof Contact;
        }
        
        @Override
        public int hashCode() {
            final int PRIME = 59;
            int result = 1;
            final Object $name = this.getName();
            result = result * 59 + (($name == null) ? 43 : $name.hashCode());
            final Object $url = this.getUrl();
            result = result * 59 + (($url == null) ? 43 : $url.hashCode());
            final Object $email = this.getEmail();
            result = result * 59 + (($email == null) ? 43 : $email.hashCode());
            return result;
        }
        
        @Override
        public String toString() {
            return "SwaggerProperties.Contact(name=" + this.getName() + ", url=" + this.getUrl() + ", email=" + this.getEmail() + ")";
        }
        
        public Contact() {
            this.name = "tech";
            this.url = "tech.com";
            this.email = "tech@hnzycfc.com";
        }
    }
    
    public static class GlobalParameter
    {
        private String name;
        private String description;
        private String parameterType;
        private String modelType;
        private boolean required;
        
        public GlobalParameter() {
            this.name = "";
            this.description = "";
            this.parameterType = "query";
            this.modelType = "string";
            this.required = false;
        }
        
        public String getName() {
            return this.name;
        }
        
        public String getDescription() {
            return this.description;
        }
        
        public String getParameterType() {
            return this.parameterType;
        }
        
        public String getModelType() {
            return this.modelType;
        }
        
        public boolean isRequired() {
            return this.required;
        }
        
        public void setName(final String name) {
            this.name = name;
        }
        
        public void setDescription(final String description) {
            this.description = description;
        }
        
        public void setParameterType(final String parameterType) {
            this.parameterType = parameterType;
        }
        
        public void setModelType(final String modelType) {
            this.modelType = modelType;
        }
        
        public void setRequired(final boolean required) {
            this.required = required;
        }
        
        @Override
        public boolean equals(final Object o) {
            if (o == this) {
                return true;
            }
            if (!(o instanceof GlobalParameter)) {
                return false;
            }
            final GlobalParameter other = (GlobalParameter)o;
            if (!other.canEqual(this)) {
                return false;
            }
            final Object this$name = this.getName();
            final Object other$name = other.getName();
            Label_0065: {
                if (this$name == null) {
                    if (other$name == null) {
                        break Label_0065;
                    }
                }
                else if (this$name.equals(other$name)) {
                    break Label_0065;
                }
                return false;
            }
            final Object this$description = this.getDescription();
            final Object other$description = other.getDescription();
            Label_0102: {
                if (this$description == null) {
                    if (other$description == null) {
                        break Label_0102;
                    }
                }
                else if (this$description.equals(other$description)) {
                    break Label_0102;
                }
                return false;
            }
            final Object this$parameterType = this.getParameterType();
            final Object other$parameterType = other.getParameterType();
            Label_0139: {
                if (this$parameterType == null) {
                    if (other$parameterType == null) {
                        break Label_0139;
                    }
                }
                else if (this$parameterType.equals(other$parameterType)) {
                    break Label_0139;
                }
                return false;
            }
            final Object this$modelType = this.getModelType();
            final Object other$modelType = other.getModelType();
            if (this$modelType == null) {
                if (other$modelType == null) {
                    return this.isRequired() == other.isRequired();
                }
            }
            else if (this$modelType.equals(other$modelType)) {
                return this.isRequired() == other.isRequired();
            }
            return false;
        }
        
        protected boolean canEqual(final Object other) {
            return other instanceof GlobalParameter;
        }
        
        @Override
        public int hashCode() {
            final int PRIME = 59;
            int result = 1;
            final Object $name = this.getName();
            result = result * 59 + (($name == null) ? 43 : $name.hashCode());
            final Object $description = this.getDescription();
            result = result * 59 + (($description == null) ? 43 : $description.hashCode());
            final Object $parameterType = this.getParameterType();
            result = result * 59 + (($parameterType == null) ? 43 : $parameterType.hashCode());
            final Object $modelType = this.getModelType();
            result = result * 59 + (($modelType == null) ? 43 : $modelType.hashCode());
            result = result * 59 + (this.isRequired() ? 79 : 97);
            return result;
        }
        
        @Override
        public String toString() {
            return "SwaggerProperties.GlobalParameter(name=" + this.getName() + ", description=" + this.getDescription() + ", parameterType=" + this.getParameterType() + ", modelType=" + this.getModelType() + ", required=" + this.isRequired() + ")";
        }
    }
}
